Skip to main content

Meta Transactions

A meta transaction is a transaction execution model that allows the transaction signer and the transaction submitter to be separate entities, enabling more flexible control over transaction execution.

In the meta transaction model, the Executor of the on-chain wallet signs the transaction and designates a specific address to submit it.
The designated submitter is responsible for broadcasting the transaction on-chain and paying the transaction fee, while the signer does not bear any on-chain fees.


Core Concepts

The core principles of meta transactions are:

  • Transactions are authorized by the Executor’s signature
  • The signature explicitly specifies the address allowed to execute the transaction
  • Only the designated address can submit and execute the transaction
  • Transaction fees are paid by the designated submitter
  • If the final execution time is exceeded (signature time + configured expiration), the on-chain program will not execute the transaction

Signature Mechanism

The signature is generated based on the current timestamp (in seconds) and the complete transaction data, including:

  • Recipient address
  • Invoked program
  • Passed parameters
  • Timestamp
  • Designated execution address

All of this information is hashed and signed, ensuring transaction integrity and preventing tampering.


Design Objectives

The introduction of meta transactions primarily addresses the following needs:

  • Reduced operational risk

    • Prevents signed transactions from being broadcast by arbitrary addresses
  • Controlled execution authority

    • Explicitly restricts who is allowed to execute a transaction, preventing abuse of execution rights
  • Support for automation and service-based execution

    • Enables execution authority to be delegated to specific services, bots, or backend systems
  • User-executed transactions

    • Platforms perform the signing, while users execute the transaction, reducing platform-side fee expenses

Transaction Flow

The basic meta transaction flow is as follows:

  1. The Executor constructs the transaction
  2. The Executor signs the transaction
  3. The signature binds the authorized execution address
  4. The authorized execution address submits the transaction on-chain
  5. The network validates the execution address
  6. The transaction is successfully executed and fees are settled

Differences from Standard Transactions

Comparison ItemStandard TransactionMeta Transaction
SignerExecutorExecutor
SubmitterExecutorAuthorized address only
Execution RightsExecutorStrictly bound
Transaction FeeExecutorAuthorized address (submitter)

Relationship with the Risk Control System

  • Meta transactions fully pass through the risk control system
  • All asset filters, risk control rules, and triggers remain effective
  • Can be combined with:
    • Delayed transactions
    • Multisignature / approval transactions
    • Program address filters
    • Parameter-based risk control rules

Typical Use Cases

  • Airdrop Distribution

    • Backend signs and authorizes airdrop transactions
    • Users submit transactions and pay fees to claim assets
  • User Withdrawals

    • Backend authorizes withdrawal limits and target assets
    • Users execute withdrawal transactions and pay transaction fees
  • Batch Authorization with Per-User Execution

    • Backend performs unified risk control and signing
    • Users execute transactions on demand, reducing backend on-chain load

Additional Notes

  • Meta transactions do not change asset ownership
  • They only constrain transaction execution authority
  • Once the execution address is bound, it cannot be replaced